package reflect;

import reflect.annotations.AutoRunMethod;

import java.lang.reflect.Method;

/**
 * 反射机制访问注解参数
 */
public class ReflectDemo12 {
    public static void main(String[] args) throws Exception {
        //需求:访问Person类中sayHello上的注解@AutoRunMethod中的参数值
        //1获取类对象
        Class cls = Class.forName("reflect.Person");
        //2获取sayHello的方法对象
//        Method method = cls.getMethod("sayHello");
        Method method = cls.getMethod("watchTV");
        //3判断该方法是否被注解标注了
        boolean mark = method.isAnnotationPresent(AutoRunMethod.class);
        if(mark){
            //4获取方法上的注解
            AutoRunMethod arm = method.getAnnotation(AutoRunMethod.class);
            //5通过注解实例获取对应的参数
            int value = arm.value();//获取了AutoRunMethod注解value参数的值
            System.out.println("参数值为:"+value);
        }
    }
}
